schmimat

schmimat(base)
Prgm
Local i,j,base1,base2,ps,a,b,e,z,t,a,res
dim(base)[1]ài
dim(base)[2]àj
newMat(i,j)àbase1
newMat(i,j)àbase2
dotP(f,g)àps(f,g)
base[1]àbase1[1]
For a,2,i
      base[a]àres
      For b,1,a-1
            -ps(base1[b],base[a])/(Öps(base1[b],base1[b]))àa
            res+a*base1[b]àres
      EndFor
      resàbase1[a]
EndFor
For a,1,i
      base1[a]/(Ö(ps(base1[a],base1[a])))àb
      If dim(string(expand(b)))>dim(string(factor(b))) Then
            factor(b)àb
      Else
            expand(b)àb
      EndIf
      bàbase2[a]
EndFor
Lbl aff
ClrIO
Output 0,0,"Base non normée:"
Pause base1
Disp "Base normée:"
Pause base2
Goto aff
EndPrgm